1. Field of the Invention
This invention relates to error correction of digital signals and is directed more particularly to a generator for an error correcting code and a decoder for the code.
2. Description of the Prior Art
In order to detect and correct a data error which has occurred in data when the data is transmitted through a transmission path or recorded on a recording medium, it is known to add an error correcting code and an error detecting code to the data that is to be transmitted or recorded. According to this known technology, an error correcting code, such as b-adjacent code, Reed Solomon code, or the like, to be used to correct data errors occurring in a predetermined amount of transmitted or recorded data, is generated and then added to the predetermined amount of data to be transmitted or recorded. An error detecting code is then generated from the error correcting code and the predetermined amount of data to be transmitted or recorded. The data is added to the thus generated error correcting code and the error detecting code and the sum is delivered to the transmission path or the recording medium.
The data with the error correcting code and the error detecting code which is received via the transmission path or reproduced from the recording media undergoes the following data processing to correct a possible error which may appear therein. Specifically, the possible errors in both the data received and the error correcting codes added to this data are checked by using the error detecting code. When a data error is detected through the above-mentioned checking, the error is corrected by using the aforementioned error correcting code. In other words, the error detecting code in this case is used to check for the existence of an error in the received data before the data is subsequently error-corrected.
Further, there is known a so-called product code that is used to correct possible errors in the data. In making this product code, a predetermined amount of data is arranged as a rectangular array and error correcting codes are generated for the data in the row and column directions of the rectangular array. The known Reed Solomon code can be employed as this error correcting code, by way of example. The above-mentioned data and error correcting codes are transmitted sequentially to the transmission path or recording medium in a predetermined order. The data with the error correcting code received via the transmission path or from the recording medium is arranged again as a rectangular array and each error correcting code generated for the data in the row and column directions of the rectangular array is used to correct possible data errors.
Prior art systems of this type have at least two drawbacks which will be discussed in greater detail further in this specification. First, it is possible that further errors may be introduced during error correction or that not all of the errors are corrected. In the above described prior art systems, error detecting is done before the error correction. A second problem of some prior art systems is that the processing time to generate the error detecting code is too long.